package cn.tedu.charging.device.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * 配置Redis相关
 * @Author: goodman
 * @Date: 2025/4/25 21:01
 */
@Configuration
public class RedisConfiguration {

    /**
     * @Bean 告诉容器 创建一个RedisTemplate对象的实例
     * 怎么创建呢 ？
     * 方法里的内容 是创建 RedisTemplate对象 的步骤
     * 创建后 把 实例 放到容器
     * @param connectionFactory
     * @return
     */
    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory connectionFactory) {
        RedisTemplate redisTemplate = new RedisTemplate();
        //设置key序列化方式 key string
        redisTemplate.setKeySerializer(RedisSerializer.string());
        //设置value的序列化方式 value json
        redisTemplate.setValueSerializer(RedisSerializer.json());
        redisTemplate.setConnectionFactory(connectionFactory);
        return redisTemplate;
    }

}
